package com.example.demo8;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

import java.io.InputStream;

public class HeroSelectionUIPro extends Application {
    @Override
    public void start(Stage primaryStage) {
        // 1. 创建背景图
        ImageView background = new ImageView();
        try {
            // 加载背景图
            InputStream bgStream = getClass().getResourceAsStream("/选英雄背景图.jpg");
            if (bgStream == null) {
                throw new Exception("背景图资源不存在，请检查路径");
            }
            Image bgImage = new Image(bgStream);
            background.setImage(bgImage);
        } catch (Exception e) {
            System.err.println("⚠️ 背景图加载失败，使用默认纯色背景: " + e.getMessage());
            // 加载失败时使用淡蓝色背景
            background.setStyle("-fx-background-color: #e6f7ff;");
        }

        // 设置背景图自适应窗口
        background.setPreserveRatio(false); // 关闭比例保持，允许拉伸填充窗口
        background.setFitWidth(1555);       // 固定宽度
        background.setFitHeight(972);       // 固定高度
        background.setOpacity(0.9);         // 半透明（0-1，避免遮挡前景内容）

        // 2. 创建玩家选择模块
        HBox playerContainer = new HBox();
        playerContainer.setSpacing(30);
        playerContainer.setPadding(new Insets(20));

        PlayerModule player1Module = new PlayerModule("玩家1");
        PlayerModule player2Module = new PlayerModule("玩家2");
        playerContainer.getChildren().addAll(player1Module, player2Module);

        // 3. 使用 StackPane 叠加背景图和玩家模块
        StackPane root = new StackPane();
        root.getChildren().addAll(background, playerContainer);

        // 设置窗口
        Scene scene = new Scene(root, 1555, 972);
        primaryStage.setTitle("双人英雄选择界面");
        primaryStage.setScene(scene);
        primaryStage.setResizable(false); // 窗口固定大小，无需适配缩放
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}